package co.edu.usbcali.modeloo;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Usuarios entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "usuarios", catalog = "estimacionpreliminar")
public class Usuarios implements java.io.Serializable {

	// Fields

	private Integer idusuario;
	private String login;
	private String password;
	private Set<Empresa> empresas = new HashSet<Empresa>(0);

	// Constructors

	/** default constructor */
	public Usuarios() {
	}

	/** minimal constructor */
	public Usuarios(Integer idusuario) {
		this.idusuario = idusuario;
	}

	/** full constructor */
	public Usuarios(Integer idusuario, String login, String password,
			Set<Empresa> empresas) {
		this.idusuario = idusuario;
		this.login = login;
		this.password = password;
		this.empresas = empresas;
	}

	// Property accessors
	@Id
	@Column(name = "IDUSUARIO", unique = true, nullable = false)
	public Integer getIdusuario() {
		return this.idusuario;
	}

	public void setIdusuario(Integer idusuario) {
		this.idusuario = idusuario;
	}

	@Column(name = "LOGIN", length = 20)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "PASSWORD", length = 20)
	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "usuarios")
	public Set<Empresa> getEmpresas() {
		return this.empresas;
	}

	public void setEmpresas(Set<Empresa> empresas) {
		this.empresas = empresas;
	}

}